package com.moshme.project.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.util.List;
import java.time.LocalDateTime;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.moshme.framework.config.SeparatorCommaToListTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import org.hibernate.validator.constraints.Length;
import lombok.Data;

/**
* 勘察阶段园区内低压管网表
* @TableName stage_survey_inner_lppn
*/
@TableName(value = "stage_survey_inner_lppn",autoResultMap = true)
@Data
@ApiModel(value="StageSurveyInnerLppn对象", description="勘察阶段园区内低压管网表")
public class StageSurveyInnerLppn implements Serializable {


    /**
    * id
    */
    @TableId(type = IdType.AUTO)
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    private Long id;


    /**
    * 项目id
    */
    @ApiModelProperty("项目id")
    private Long projectId;


    /**
    * 无隐患
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("无隐患")
    private List<String> noHiddenDangers;


    /**
    * 标志桩损坏
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("标志桩损坏")
    private List<String> damagedMarkerPosts;


    /**
    * 标志需要增加
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("标志需要增加")
    private List<String> signNeedAdd;


    /**
    * 套管生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("套管生锈")
    private List<String> rustOnCasing;


    /**
    * 套管未封堵
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("套管未封堵")
    private List<String> casingNotBlocked;


    /**
    * 套管脱离地面
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("套管脱离地面")
    private List<String> bushingOffGround;


    /**
    * 盘管封埋地面
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("盘管封埋地面")
    private List<String> coilOffGround;


    /**
    * 盘管生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("盘管生锈")
    private List<String> coilBuryRust;


    /**
    * 盘管损坏
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("盘管损坏")
    private List<String> coilDamage;


    /**
    * 立管沉降
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管沉降")
    private List<String> riserSettlement;


    /**
    * 立管占压
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管占压")
    private List<String> riserOccupy;


    /**
    * 立管支架损坏
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管支架损坏")
    private List<String> riserDamagedBracket;


    /**
    * 立管预留管生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管预留管生锈")
    private List<String> riserReservedPipeRust;


    /**
    * 立管生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管生锈")
    private List<String> riserRust;

    /**
     * 调压设施至有限空间其他隐患
     */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("调压设施至有限空间其他隐患")
    private List<String> prfToConfinedSpaceOtherDanger;

    /**
    * 雨水井
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("雨水井")
    @Length(max= 255,message="编码长度不能超过255")
    private String catchBasin;


    /**
    * 污水井
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("污水井")
    @Length(max= 255,message="编码长度不能超过255")
    private String bilgeWell;


    /**
    * 电力井
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("电力井")
    @Length(max= 255,message="编码长度不能超过255")
    private String electricWell;


    /**
    * 有害气体雨污水井
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("有害气体雨污水井")
    @Length(max= 255,message="编码长度不能超过255")
    private String harmfulSewageWell;


    /**
    * 甲烷最高值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("甲烷最高值")
    @Length(max= 255,message="编码长度不能超过255")
    private String methaneMax;


    /**
    * 硫化氢最高值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("硫化氢最高值")
    @Length(max= 255,message="编码长度不能超过255")
    private String hydrogenSulfideMax;


    /**
    * 一氧化碳最高值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("一氧化碳最高值")
    @Length(max= 255,message="编码长度不能超过255")
    private String carbonMonoxideMax;


    /**
    * 燃气管道与电缆线缆平行距离
    */
    @ApiModelProperty("燃气管道与电缆线缆平行距离")
    private Double parallelDistance;


    /**
    * 交叉点
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("交叉点")
    @Length(max= 255,message="编码长度不能超过255")
    private String intersection;


    /**
    * 电力电压
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("电力电压")
    @Length(max= 255,message="编码长度不能超过255")
    private String powerVoltage;


    /**
    * 其他现场无隐患
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("其他现场无隐患")
    private List<String> otherSitesNoHiddenDangers;


    /**
    * 电缆缠绕
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("电缆缠绕")
    private List<String> cableWinding;


    /**
    * 绿化遮挡
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("绿化遮挡")
    private List<String> greeningShelter;


    /**
    * 管道异常
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("管道异常")
    private List<String> pipelineAbnormality;

    /**
     * 现场情况其他隐患
     */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("现场情况其他隐患")
    private List<String> sceneOtherDanger;

    /**
    * 备注
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("备注")
    @Length(max= 255,message="编码长度不能超过255")
    private String notes;


    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;


    /**
     * 创建人
     */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("创建人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;


    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    /**
    * 修改人
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("修改人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @TableField(exist = false)
    private static final long serialVersionUID=1L;

}

